how are rainbows formed in nature